Demystifying EPIC and IA-64: 1/26/98
نویسنده
چکیده
Using a next-generation architecture technology that Intel and Hewlett-Packard call EPIC (explicitly parallel instruction computing), Merced and future EPIC processors threaten the performance lead held today by RISC processors. EPIC is not entirely new, borrowing many of its ideas from previous RISC and VLIW designs as well as from recent academic research. EPIC has an inherent performance advantage over existing architectures, however, because it is a synergistic assembly of the latest innovations into one architecture. To compete with EPIC processors from Intel, existing RISC architectures are likely to adopt a similar combination of EPIC features in their future versions. During last year’s Microprocessor Forum, Intel and HP gave a high-level, incomplete description of IA-64, for which the companies coined the generic name EPIC (see MPR 10/27/97, p. 1). Nevertheless, we know that EPIC provides a large number of addressable registers, eliminating the need for register renaming and reducing cache accesses. It also provides instruction dependency hints, simplifying instruction issue logic. EPIC uses predicated execution to eliminate some branches, thereby increasing scheduling freedom for the compiler, allowing parallel execution of both paths of branches, and reducing opportunities for misprediction. EPIC uses speculative loads to enable well-behaved accesses to memory as soon as the address can be computed, hiding memory latency. Intel and HP have revealed only a few details of EPIC and IA-64, but we can project more details than publicly disclosed by considering how these EPIC features can be applied to solve today’s performance bottlenecks. IA-64 may impose programming restrictions to accommodate clustering of execution units and registers, greatly simplifying hardware without unduly degrading the processor’s throughput. It may also use delayed branches to specify branch target addresses as early as possible, reducing reliance on accurate branch prediction. IA-64 may use load/ store instructions that also return the effective address as a result, reducing the overhead of hoisting speculative loads above earlier stores. At first glance, retrofitting these EPIC features onto an existing instruction set seems to require adding more bits, breaking binary compatibility with existing software. While a few new instructions can be added easily to an instruction set using unused opcodes, adding general-purpose registers and predicated execution seems more difficult, or even impossible, without breaking binary compatibility. For many RISC architectures, however, most—if not all—of the known EPIC features can be added without breaking compatibility. EPIC is a natural evolution of RISC: its fixed-length instruction formats and load/store instructions enable the EPIC features to be added easily.
منابع مشابه
Intel, HP Make EPIC Disclosure: 10/27/97
Breaking out of the 1980s RISC mind set, Intel and Hewlett-Packard have designed a new instruction set, IA-64, geared toward the highly parallel processors of the next decade. IA-64 goes beyond previous CISC, RISC, and VLIW instruction sets with a new set of features that its creators call EPIC (explicitly parallel instruction computing). This strategy should give Merced, the first IA-64 chip, ...
متن کامل64 - bit CPUs : UltraSPARC - III vs . Intel IA - 64
This communication sets an evaluation framework and performs a comparative analysis of the UltraSPARC-III and the IA-64 processor architectures. It starts with an overview of a pure RISC architecture and the new EPIC technology. It then presents the unique combination of innovative features that both manufacturers claim explicit parallelism, predication and speculative loading – and the goals f...
متن کاملIa-64 Code Generation Electrical and Computer Engineering Biographical Sketch
Rao, Vikram. IA-64 code generation. (Under the direction of Dr. Tom Conte). This work presents an approach to code generation for a new 64-bit Explicitly Parallel Instruction Computing (EPIC) architecture from Intel, called IA-64. The major contribution of this work is the design of a machine independent optimizer, munger, that transforms code generated originally for a Very Long Instruction Wo...
متن کاملIa-64 Code Generation Electrical and Computer Engineering Biographical Sketch 2 Prior Work 8 3 the Ia-64 Processor Architecture 17
Vikram Rao. IA-64 code generation. (Under the direction of Dr. Tom Conte). This work presents an approach to code generation for a new 64-bit Explicitly Parallel Instruction Computing (EPIC) architecture from Intel, called IA-64. The major contribution of this work is the design of a machine independent optimizer, munger, that transforms code generated originally for a Very Long Instruction Wor...
متن کاملLiberty Queues for EPIC Architectures
Core-to-core communication bandwidth is critical for high-performance pipeline-parallel programs. Hardware communication queues are unlikely to be implemented and are perhaps unnecessary. This paper presents Liberty Queues, a high-performance lock-free software-only ring buffer, and describes the porting effort from the original x86-64 implementation to IA-64. Liberty Queues achieve a bandwidth...
متن کامل